import concurrent
import os

from modelscope import Model
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

from config.LoadConfig import get_config
from config.ServerApp import app
from utils import DataUtil
from utils.Singleton import Singleton

from PIL import ImageFile

ImageFile.LOAD_TRUNCATED_IMAGES = True


class ClassfyModelData:
    def __init__(self, classifyName: str, subClassifyName: str, thirdClassifyNames: list[str]):
        self.classifyName = classifyName
        self.subClassifyName = subClassifyName
        self.thirdClassifyNames = thirdClassifyNames


@Singleton
class ClassfyModelHandler:
    def __new__(cls, *args, **kwargs):
        print("ClassfyModelHandler 初始化...")
        return super().__new__(cls)

    def __init__(self, name=None):
        if hasattr(self, 'initialized'):
            print("ClassfyModelHandler 已加载...")
            return
        self.initialized = True
        super().__init__()

        import time
        from config.Common import get_classify_model_device

        # 使用分类模型独立的设备配置
        self.device = get_classify_model_device()

        # 兼容旧的环境变量配置方式
        if 'device' in os.environ:
            self.device = os.environ['device']

        print(f"[分类模型] 开始加载模型到设备: {self.device}")
        load_start = time.time()

        # 优先从classify_model配置中读取模型路径
        from config.LoadConfig import get_config
        __model_paths_conf = get_config("classify_model")
        classify_model_path = __model_paths_conf.get("classify_model_path", 'models/models/iic/cv_vit-base_image-classification_Dailylife-labels')
        self.model = Model.from_pretrained(classify_model_path)
        self.pipeline = pipeline(Tasks.image_classification, device=self.device, model=self.model)

        load_time = time.time() - load_start
        print(f"[分类模型] 模型加载完成，耗时: {load_time:.3f}秒，设备: {self.device}")

        self._classify_model_data()

    def _classify_model_data(self):
        # 初始化分类
        #  ['火腿', '喜鹊', '椰子', '荔枝', '蜂鸟', '菠菜', '黄桃', '纸币', '摩天轮', '栗子', '推土机', '锣', '折叠屏', '飞机', '吉他', '格子衫', '纯牛奶', '牛仔裤', '高尔夫球', '石磨', '足球', '二维码', '水杯', '大猩猩', '茶桌', '歼击机', '烤肉', '消毒柜', '茄子', '小狗', '石狮子', '花菜', '指甲油', '货船', '农场', '集成灶', '急救车', '秋裤', '披萨', '大蒜', '公章', '箱包', '装甲车', '口罩', 'T恤', '商务车', '辣椒', '馒头', '水塔', '唇膏', '眼罩', '蒲公英', '煤气灶', '杜鹃', '直升机', '油烟机', '轿车', '方便面', '樱花', '奖章', '手柄', '鲈鱼', '骰子', '钱币', '拉杆箱', '绿植', '杂志', '蟑螂', '鲸', '虾', '沙拉', '保险柜', '巴士', '萝卜', '餐车', '冥币', '晾衣架', '卡丁车', '船', '名片', '卡钳', '交换机', '剪纸', '卫衣', '红薯', '茶几', '排球', '花洒', '背心', '行驶证', '客车', '手铐', '扁担', '甘蔗', '中药材', '白萝卜', '油菜', '紫罗兰', '螃蟹', '鲫鱼', '货币', '大衣', '鲸鱼', '胶卷', '国际象棋', '购物袋', '房车', '霓虹灯', '包子', '银饰', '乐器', '眼镜蛇', '挖掘机', '大飞机', '猫头鹰', '勺子', '鹦鹉', '冰激凌', '狗狗', '遥控器', '苹果', '鸳鸯锅', '铁路', '短裤', '手办', '零食', '大豆', '电风扇', '平菇', '扫地机', '空调', '车位', '手提袋', '茶壶', '车厘子', '柴犬', '汽水', '摩托车', '照相机', '小猫', '黑板', '燕子', '柿饼', '母鸡', '塑料桶', '音箱', '赛车', '芯片', '洗衣机', '南瓜', '鸳鸯', '蛋糕', '售货机', '连体裤', '游轮', '栏杆', '香皂', '红包', '马铃薯', '狗粮', '蜜蜂', '海鸥', '雪地', '猴子', '门窗', '春联', '吊扇', '牡丹花', '果汁', '浴霸', '拼图', '胶片', '冰淇淋', '橙子', '猕猴桃', '轿跑车', '蛇', '蘑菇', '易拉罐', '咖啡', '针织衫', '魔方', '轮胎', '葡萄', '口香糖', '船舶', '摩托艇', '棉被', '饼干', '置物架', '垃圾桶', '茉莉花', '泡菜', '桃子', '哑铃', '碰碰车', '海报', '黄瓜', '车轮', '娃娃机', '试卷', '助听器', '齿轮', '公交车', '文胸', '围巾', '二胡', '啄木鸟', '鱿鱼', '锁', '苦瓜', '浴室柜', '孔雀', '出租车', '桥', '雪茄', '玻璃珠', '发髻', '猪', '高跟鞋', '半身裙', '玉石', '梧桐树', '折扇', '卫生纸', '斑马线', '非机动车', '桃花', '梅花鹿', '时钟', '中药', '鱼缸', '山地车', '打印机', '企鹅', '马克杯', '鲨鱼', '海马', '床头柜', '黄鼠狼', '包包', '小白菜', '小龙虾', '炒面', '电饭锅', '子弹', '丝巾', '老爷车', '挂历', '高铁', '保温壶', '灯笼', '计算器', '轮船', '香烟', '小番茄', '微单', '皮草', '人造卫星', '单车', '挎包', '渔船', '毛驴', '汤圆', '敞篷车', '水表', '起重机', '苍蝇', '蚂蚁', '扳手', '天鹅', '麻袋', '圆桌', '芝士', '金毛', '外套', '闸机', '篮板', '美甲', '短靴', '脐橙', '大枣', '耳罩', '护膝', '摩托', '收割机', '饮料', '牌匾', '猪肉', '雨伞', '兵马俑', '桌', '糕点', '鼓风机', '核桃', '树叶', '螺丝刀', '油桃', '雕像', '抽油烟机', '越野车', '火龙果', '洗碗机', '望远镜', '镰刀', '蟋蟀', '瓶子', '樱桃', '课桌', '地球仪', '鸽子', '腰鼓', '板凳', '蟹', '铁锅', '盆景', '耳塞', '坐便器', '田螺', '大刀', '集装箱', '皮鞋', '犀牛', '卫生巾', '牧马人', '甜点', '爆竹', '烟灰缸', '列车', '贝壳', '木耳', '病床', '带鱼', '白菜', '柿子', '银杏', '鸡', '蟒蛇', '平衡车', '吸尘器', '斗篷', '蛋挞', '连衣裙', '陶罐', '龙眼', '火箭弹', '香槟', '调味品', '鸟', '青蛙', '多肉植物', '项链', '救生圈', '坚果', '大白菜', '洋葱', '卡车', '螺旋桨', '信箱', '手风琴', '被褥', '开关', '白鹭', '海鲜', '剃须刀', '海豚', '紫薯', '棒球', '鲨', '航模', '根雕', '手套', '减速带', '航空母舰', '糯米', '薰衣草', '相框', '大熊猫', '鳄鱼', '传真机', '罐车', '盔甲', '啤酒瓶', '犁', '毛衣', '牛肉', '刺猬', '燃气表', '蜗牛', '山羊', '竖琴', '水桶', '背篓', '韭菜', '生蚝', '台式机', '巧克力', '显卡', '报纸', '围棋', '手机套', '粉条', '纸箱', '辣条', '火车票', '游船', '火箭', '菠萝', '米粉', '米饭', '药材', '壁挂炉', '乌龟', '台球桌', '插座', '衣架', '洗手间', '地毯', '托盘', '背包', '豹', '牛', '怀表', '短裙', '珊瑚', '潜艇', '奇异果', '梨', '购物车', '发票', '奖杯', '皮带', '警车', '石雕', '后视镜', '城堡', '野猪', '牙刷', '饺子', '直升飞机', '象牙', '吊床', '乒乓', '压路机', '汽车', '耳钉', '电视机', '海苔', '青花瓷', '跑车', '叉车', '鸽', '兔爷', '猫', '迷彩服', '排骨', '红灯笼', '床', '证书', '吸油烟机', '陀螺', '大葱', '海螺', '旅馆', '大米', '指示牌', '木瓜', '消防车', '计算机', '拉链', '鼠', '面包车', '羊驼', '睡衣', '算盘', '紫砂壶', '寺庙',  '饭盒', '大虾', '老鹰', '小客车', '红枣', '年轮', '萨克斯', '和服', '铃铛', '松鼠', '雄鹰', '桂圆', '酒吧', '过膝长靴', '钱包', '摄像机', '净化器', '壁虎', '风车', '塑料瓶', '五花肉', '珠宝', '小白鼠', '年糕', '芝麻', '人参', '棒球帽', '糖葫芦', '奖牌', '海盗船', '胡萝卜', '头枕', '电瓶车', '翡翠', '狐狸', '沙漏', '驯鹿', '豆角', '芒果', '火锅', '支架', '信用卡', '鲤鱼', '餐桌椅', '音响', '暖器', '网球', '记事本', '图书', '白纸', '垃圾箱', '回旋镖', '梅花', '硬盘', '洗洁精', '大雁', '点烟器', '虾仁', '翠鸟', '毛笔', '青稞', '榔头', '蜂窝', '毛肚', '考拉', '银杏叶', '方向盘', '红豆', '锡纸', '竹笋', '楼梯', '松柏', '火烈鸟', '洒水车', '牛蛙', '火车', '银行卡', '毛毯', '电冰箱', '指南针', '小轿车', '花篮', '餐桌', '水牛', '兔子', '蓝球', '牦牛', '地垫', '羊', '平板车', '货车', '浴巾', '皮卡车', '尤克里里', '火炬', '香肠', '旋转木马', '坦克', '羚羊', '锦旗', '橄榄枝', '蜈蚣', '古筝', '警犬', '示波器', '运动服', '江豚', '麻雀', '绵羊', '代步车', '香氛', '车厢', '汉堡', '电视柜', '熨斗', '游艇', '行李', '航天飞机', '帽子', '烧饼', '铲子', '橡皮', '衬衫', '户口簿', '薄荷', '蝴蝶', '蜘蛛', '豆腐', '热水袋', '救护车', '冰棍', '防毒面具', '荷叶', '吹风机', '微波炉', '条码', '柠檬', '北极熊', '棉花', '郁金香', '擀面杖', '琥珀', '乌鸦', '拖拉机', '花卉', '卷发棒', '牛奶', '单反', '葱', '油条', '墓碑', '沐浴露', '雪糕', 'U盘', '海星', '白鸽', '路灯', '豆', '粥', '竹子', '比基尼', '台球', '闹钟', '消火栓', '老虎', '杀虫剂', '秤', '草鞋', '硬币', '猫咪', '长裤', '白鹤', '路标', '海参', '骷髅', '海龟', '串串', '冰球', '燕麦', '赛艇', '长裙', '休闲裤', '邮票', '面包', '油纸伞', '公鸡', '罐头', '青铜器', '水晶灯', '垂柳', '牙膏', '狮子', '珍珠', '无人机', '青椒', '猪蹄', '可乐', '奖状', '内饰', '杏仁', '万花筒', '锣鼓', '电烤箱', '蓬蓬裙', '叶子', '水饺', '电扇', '饭碗', '线路板', '彩虹', '乒乓球', '胶囊', '过山车', '帆船', '麦克风', '窗', '龙舟', '金丝猴', '扑克', '中医药', '纸杯', '蝌蚪', '黑板报', '钻石', '鸡翅', '馅饼', '婚车', '竹竿', '饼', '西红柿', '数码相机', '古琴', '熊猫', '豆芽', '板栗', '跑鞋', '乌贼', '向日葵', '冲锋枪', '章鱼', '宠物', '战斗机', '船只', '蜘蛛网', '毛巾', '折纸', '象棋', '扫帚', '搅拌车', '三轮', '光盘', '蚕桑', '大货车', '制服', '药物', '布鞋', '菜单', '铁锤', '簸箕', '床品', '冬瓜', '兔', '花朵', '海棠花', '钱', '五金', '鸵鸟', '卷轴', '色卡', '刺绣', '铁锹', '小提琴', '地图', '烤炉', '马', '轮毂', '菜刀', '条形码', '货柜', '银杏树', '榻榻米', '花生', '鸭子', '茶叶', '薯条', '毛毛虫', '飞镖', '快艇', '缝纫机', '面条', '监视器', '机械臂', '国徽', '充电器', '海胆', '盾牌', '耕牛', '矿泉水', '干辣椒', '萤火虫', '龙虾', '门锁', '班车', '唱片', '驴', '蜥蜴', '草鱼', '掌机', '石英表', '骏马', '竹筏', '橘子', '奶嘴', '服务器', '月饼', '明信片', '铁链', '麻将', '插孔', '竹', '香蕉', '洗面奶', '鸡腿', '剑', '手榴弹', '斧', '鹅', '丁香', '奶瓶', '刀', '婚房', '仓鼠', '桔子', '按钮', '雪人', '笼子', '鞭炮', '小鸟', '小板凳', '继电器', '锅巴', '保龄球', '藕', '橡皮筋', '狗熊', '纸尿裤', '礼服', '键盘', '身份证', '缆车', '菊花', '浮雕', '勋章', '电话', '甜甜圈', '蒙古包', '棺材', '木桶', '锅', '葡萄酒', '柚子', '三轮车', '内衣', '圆规', '座便器', '木屋', '钟乳石', '羊羔', '圣诞老人', '棋盘', '雏菊', '氧气瓶', '奶茶', '蚊香', '点心', '干果', '风筝', '网球场', '白鹅', '钥匙', '西瓜', '甜瓜', '旗帜', '画笔', '车牌', '穿山甲', '书画', '铁轨', '肥皂', '书籍', '萌宠', '跑步机', '大鹅', '跷跷板', '鼠标', '黑猩猩', '板车', '亭', '游戏机', '推车', '大炮', '红绿灯', '蜡梅', '新风机', '狗', '降落伞', '避孕套', '酒瓶', '糖果', '笤帚', '螳螂', '皮球', '琵琶', '桌球', '茉莉', '小辣椒', '月球', '恐龙', '老鼠', '号角', '羽毛', '紫荆花', '滑翔伞', '鸭', '金银花', '烘干机', '鸡爪', '树枝', '户口本', '马车', '蜻蜓', '书', '枪支', '鹿', '脚垫', '营业执照', '柳树', '小便池', '杏子', '标尺', '操场', '放大器', '枪', '药', '贺卡', '鸡蛋', '横幅', '蝙蝠', '红旗', '桃', '奶粉', '黄花', '奶牛', '钞票', '滑板', '蛋黄', '圣诞树', '短轴', '乳制品', '小黄鸭', '雪球', '桑蚕', '白酒', '火鸡', '芙蓉', '雕塑', '松树', '路由器', '丝袜', '蝗虫', '积木', '邮轮', '三脚架', '麻花', '腕表', '电钻', '运动鞋', '竹篮', '砂锅', '门帘', '鞋垫', '烤箱', '球衣', '太阳镜', '水壶', '藏红花', '书桌', '陈皮', '帆布鞋', '电磁炉', '裤子', '草帽', '婚纱', '养生壶', '冰箱', '护栏', '窗帘', '井盖', '书包', '玩具', '编织袋', '手环', '伞', '风扇', '蹦床', '蔬菜', '头盔', '胶布', '洗手液', '篮球', '靴子', '校车', '沙盘', '盘子', '沙发', '床垫', '床头灯', '水龙头', '墨镜', '梧桐', '草莓', '书柜', '镜子', '海带', '果汁机', '护照', '芹菜', '刀具', '圆珠笔', '山', '放大镜', '枸杞', '面膜', '单反相机', '电饭煲', '工具箱', '万用表', '藏獒', '剪刀', '马桶', '货轮', '家具', '蜡烛', '钳子', '体温计', '扫把', '防晒霜', '西装', '步枪', '燃气灶', '锤子', '凉鞋', '烤鱼', '浴缸', '芍药', '灯带', '竹鼠', '收音机', '耳环', '办公桌', '弹簧', '按摩椅', '泳装', '胸针', '餐巾纸', '藤椅', '梳子', '兰花', '雨衣', '灯塔', '蟾蜍', '脚手架', '酒杯', '西服', '羽毛球', '胶水', '弓箭', '荷花', '保险丝', '电池', '躺椅', '落地灯', '抱枕', '扇子', '台灯', '绿茶', '胶带', '百叶窗', '护目镜', '衬衣', '戒指', '枕头', '十字架', '纱帘', '磁铁', '对讲机', '录音笔', '充电宝', '婚戒', '喷泉', '袋鼠', '灵芝', '安全帽', '鼠标垫', '龟', '拖布', '香菜', '球鞋', '沙袋', '滑梯', '夹克', '板鞋', '帽', '小桌板', '沙画', '灭火器', '衣服', '注射器', '椅子', '榨菜', '冲锋衣', '木箱', '浴帘', '石碑', '炒锅', '钉子', '塑料袋', '绳子', '芦苇', '咖啡机', '裙子', '凳子', '皮蛋', '皮裤', '黄豆', '蒸笼', '背带裤', '保温杯', '鸭舌帽', '葫芦', '芦荟', '餐椅', '砂纸', '斧头', '坐垫', '果蝇', '玻璃瓶', '钢琴', '箱子', '凉席', '烛台', '地砖', '行李箱', '鞋柜', '竹荪', '铅笔', '榨汁机', '拉面', '笛子', '指环', '斑马', '摄像头', '杨梅', '花露水', '水母', '相机', '桶', '摇篮', '滑板车', '刷子', '筷子', '帐篷', '衣帽架', '插头', '内裤', '雪橇', '篮子', '果树', '电视', '蚯蚓', '梯子', '牙套', '骆驼', '吊车', '眼镜', '显示器', '钢笔', '旗袍', '轮椅', '枣', '平板', '地板', '无花果', '杯子', '宝石', '吸管', '水枪', '拖车', '碗', '打火机', '弹弓', '泡面', '玫瑰', '煎饼', '垃圾袋', '阔腿裤', '瓜子', '盒饭', '饮水机', '笔记本', '热狗', '玉兰', '储物盒', '太阳眼镜', '桌子', '打字机', '红辣椒', '金条', '床铺', '手电', '鸟笼', '皮卡', '鞋', '显示屏', '瓷器', '紫菜', '耳机', '寿司', '椅', '招财猫', '蜂蜜', '显微镜', '卷帘门', '钻戒', '玫瑰花', '酒柜', '手镯', '羽绒服', '化妆品', '煤气罐', '生日蛋糕', '自行车', '手表', '花盆', '遮阳伞', '门铃', '榴莲', '挂面', '耳饰', '皮靴', '电饼铛', '鞋子', '洗发水', '茶具', '抽屉', '秋千', '婴儿车', '手电筒', '手提包', '玻璃杯', '短袖', '拖鞋', '电子秤', '呼啦圈', '玉米', '包裹', '话筒', '气垫', '山楂', '牡丹', '围裙', '书签', '投影仪', '土豆', '领带', '纸巾', '牡蛎', '摄影机', '金币', '鲜花', '衣柜', '储物柜', '红宝石', '投影机', '口红', '魔芋', '纽扣', '车胎', '咖啡杯', '书架', '电梯', '富贵竹', '花瓶', '千斤顶', '手机', '驾驶证', '首饰', '啤酒', '蝴蝶结', '香炉', '蝉', '扑克牌', '斧子', '盆栽', '寺院', '电脑', '酸奶', '树木', '乐高', '花瓣', '石榴', '皮夹克', '冰柜', '太阳能板', '锯', '粉笔', '卷烟', '灯泡', '药品']
        _data = []
        _data.append(
            ClassfyModelData("食品/饮品", '水果',
                             ['苹果', '橙子', '猕猴桃', '车厘子', '火龙果', '樱桃', '草莓', '柿子', '柠檬', '葡萄',
                              '芒果', '香蕉', '柚子', '橘子', '杏子', '杨梅', '西瓜', '甜瓜', '椰子', '荔枝', '黄桃',
                              '栗子', '红枣', '脐橙', '大枣', '橄榄枝', '桂圆', '龙眼', '枇杷', '李子', '桑葚', '山楂',
                              '甘蔗', '紫薯', '红薯', '南瓜', '黄瓜', '茄子', '西红柿', '豆角', '白菜', '油菜', '菠菜',
                              '芹菜', '生菜', '韭菜', '冬瓜', '苦瓜', '丝瓜', '蒜', '洋葱', '萝卜', '胡萝卜', '土豆',
                              '白萝卜', '生姜', '大蒜', '玉米', '大豆', '绿豆', '红豆', '黑豆', '花生', '核桃', '杏仁',
                              '榛子', '腰果', '松子', '开心果', '巴旦木', '葵花籽', '芝麻', '麦片', '燕麦', '大米',
                              '小米', '糯米', '面粉', '面条', '馒头', '包子', '饺子', '饼', '馅饼', '煎饼', '糕点',
                              '糖果', '巧克力', '蜂蜜', '牛奶', '酸奶', '奶酪', '冰淇淋', '果汁', '茶', '咖啡', '酒',
                              '啤酒', '葡萄酒', '白酒', '矿泉水', '汽水', '可乐'])
        )
        _data.append(
            ClassfyModelData("食品/饮品", '肉类/海鲜',
                             ['牛肉', '猪肉', '羊肉', '鸡肉', '鸭肉', '鹅肉', '鱼', '虾', '蟹', '贝类', '鱿鱼', '章鱼',
                              '带鱼', '鲫鱼', '鲈鱼', '三文鱼', '鳕鱼', '金枪鱼', '海参', '海胆', '海带', '紫菜'])
        )
        _data.append(
            ClassfyModelData("食品/饮品", '零食/调味品',
                             ['薯片', '饼干', '蛋糕', '面包', '泡面', '方便面', '辣条', '糖果', '巧克力', '坚果',
                              '蜜饯', '果脯', '调味料', '酱油', '醋', '盐', '糖', '胡椒粉', '辣椒酱', '番茄酱'])
        )
        _data.append(
            ClassfyModelData("生物", '动物',
                             ['狗', '猫', '老鼠', '兔子', '猴子', '老虎', '狮子', '豹', '狼', '熊', '狐狸', '鹿', '马',
                              '牛', '羊', '猪', '鸡', '鸭', '鹅', '鸟', '鹦鹉', '鸽子', '孔雀', '蜜蜂', '蝴蝶', '蚂蚁',
                              '蜘蛛', '蛇', '蜥蜴', '青蛙', '蟾蜍', '乌龟', '鳄鱼', '鲸鱼', '鲨鱼', '海豚', '企鹅'])
        )
        _data.append(
            ClassfyModelData("生物", '植物',
                             ['树木', '竹子', '花卉', '草本植物', '蔬菜', '水果树', '药用植物', '观赏植物'])
        )
        _data.append(
            ClassfyModelData("物品", '交通工具',
                             ['汽车', '摩托车', '自行车', '飞机', '直升机', '火车', '高铁', '轮船', '潜艇', '航天飞机'])
        )
        _data.append(
            ClassfyModelData("物品", '家居用品', ['家具', '厨房用具', '餐具', '床上用品', '清洁用品', '个人护理用品'])
        )
        _data.append(
            ClassfyModelData("物品", '电子产品',
                             ['手机', '电脑', '平板', '电视', '相机', '耳机', '音响', '电冰箱', '洗衣机', '空调'])
        )
        _data.append(
            ClassfyModelData("物品", '文化用品', ['书籍', '报纸', '杂志', '文具', '乐器', '运动器材'])
        )
        _data.append(
            ClassfyModelData("二维条形码", "二维码", ["二维码"])
        )
        _data.append(
            ClassfyModelData("二维条形码", '条形码', ['条形码', '条码'])
        )
        _data.append(
            ClassfyModelData("其他", '其他',
                             ['热狗', '乒乓', '投影仪', '奶粉', '旋转木马', '校车', '萤火虫', '耳钉', '陈皮', '亭',
                              '向日葵', '刺猬', '榔头', '鲸', '黄花', '芦苇', '棋盘', '啤酒', '网球场', '置物架',
                              '布鞋', '乐高', '梳子', '箱子', '板凳', '书包', '推土机', '交换机', '牛肉', '根雕',
                              '拉杆箱', '珠宝', '锁', '橡皮筋', '显示器', '皮卡车', '红薯', '床垫', '井盖', '搅拌车',
                              '小辣椒', '鸭子', '发髻', '轮毂', '黑板报', '国际象棋', '北极熊', '巧克力', '记事本',
                              '脚手架', '集装箱', '吸尘器', '耳饰', '富贵竹', '大雁', '海鸥', '烤炉', '奖状', '五花肉',
                              '弹簧', '猪蹄', '饭碗', '音响', '跑车', '出租车', '挂面', '平板车', '歼击机', '玉兰',
                              '桃花', '蚯蚓', '电子秤', '闸机', '铁轨', '直升飞机', '体温计', '飞机', '鼓风机',
                              '摄像头', '酒瓶', '保龄球', '芹菜', '拖拉机', '仓鼠', '电冰箱', '卷帘门', '企鹅', '墓碑',
                              '电饭锅', '拖布', '皮蛋', '洗发水', '西红柿', '骷髅', '象棋', '鹿', '江豚', '樱花',
                              '跑鞋', '餐桌椅', '戒指', '尤克里里', '沐浴露', '门铃', '榨菜', '燕子', '雪地', '闹钟',
                              '黑猩猩', '皮球', '麻袋', '火腿', '栗子', '比基尼', '扫把', '碰碰车', '图书', '书',
                              '背带裤', '海鲜', '驯鹿', '葫芦', '蔬菜', '无人机', '酒吧', '凉鞋', '蝌蚪', '火车',
                              '锦旗', '鸽', '点心', '糖果', '霓虹灯', '中药材', '网球', '玉米', '鞋', '卷轴', '红旗',
                              '雨衣', '芦荟', '豆角', '火烈鸟', '滑梯', '大豆', '茉莉', '狗粮', '茶几', '塑料桶', '伞',
                              '唇膏', '麻雀', '杂志', '乌鸦', '梅花鹿', '手提包', '寺院', '毛巾', '自行车', '轿车',
                              '缆车', '刷子', '坚果', '咖啡', '包子', '木屋', '驾驶证', '冰箱', '明信片', '橙子',
                              '手提袋', '黄鼠狼', '鸡爪', '春联', '花朵', '蓝球', '摩天轮', '游艇', '哑铃', '打字机',
                              '零食', '香皂', '凳子', '推车', '蟒蛇', '银杏叶', '冰淇淋', '工具箱', '果汁', '洗洁精',
                              '棺材', '游船', '轿跑车', '浴帘', '笛子', '猪肉', '蜗牛', '圣诞树', '篮球', '镜子',
                              '骆驼', '气垫', '寺庙', '按摩椅', '雏菊', '装甲车', '跷跷板', '电扇', '簸箕', '辣条',
                              '烘干机', '糕点', '郁金香', '宝石', '鱼缸', '暖器', '狗', '毛衣', '石磨', '小提琴',
                              '韭菜', '平菇', '龙舟', '凉席', '高尔夫球', '冰激凌', '月饼', '围裙', '蟋蟀', '老鹰',
                              '钱', '排骨', '航模', '座便器', '蝴蝶', '汉堡', '婴儿车', '遥控器', '保温壶', '年糕',
                              '内衣', '虾仁', '翠鸟', '救护车', '大衣', '芍药', '羊羔', '投影机', '奶瓶', '安全帽',
                              '小白鼠', '航空母舰', '树木', '直升机', '冬瓜', '陀螺', '衣架', '条形码', '糯米', '刺绣',
                              '雪糕', '蜥蜴', '棉花', '轮船', '衣服', '水龙头', '公交车', '婚纱', '插孔', '盆景',
                              '台式机', '斗篷', '青铜器', 'T恤', '海马', '邮轮', '芝士', '蚕桑', '萌宠', '首饰', '木桶',
                              '牙刷', '藏红花', '皮夹克', '子弹', '地图', '杨梅', '藤椅', '馅饼', '丁香', '奖章',
                              '铁链', '排球', '算盘', '蛋糕', '桔子', '鼠', '蝙蝠', '电话', '对讲机', '白鹤', '螺旋桨',
                              '手柄', '报纸', '红灯笼', '蜘蛛网', '鞭炮', '扳手', '二维码', '陶罐', '塑料瓶', '竹鼠',
                              '狗狗', '邮票', '红包', '浴缸', '石狮子', '吸油烟机', '灯塔', '羽毛', '床头柜', '桑蚕',
                              '火车票', '办公桌', '头枕', '战斗机', '龟', '汽车', '篮子', '酒柜', '水桶', '风车',
                              '蚂蚁', '单车', '大白菜', '白酒', '金毛', '板车', '圆珠笔', '单反相机', '餐椅', '煎饼',
                              '胡萝卜', '西瓜', '圣诞老人', '拉链', '碗', '猕猴桃', '小猫', '橘子', '香槟', '条码',
                              '鼠标', '路灯', '躺椅', '铁锹', '黄瓜', '小龙虾', '壁虎', '树枝', '土豆', '果蝇', '豹',
                              '红辣椒', '风扇', '鞋柜', '水表', '内饰', '银杏树', '冲锋枪', '冰球', '珊瑚', '鳄鱼',
                              '竹笋', '吊车', '猫头鹰', '证书', '钱包', '柠檬', '大蒜', '显微镜', '书桌', '格子衫',
                              '干辣椒', '香氛', '砂锅', '硬币', '核桃', '茶具', '石榴', '卷发棒', '山', '葡萄', '床铺',
                              '奖杯', '红绿灯', '墨镜', '小轿车', '千斤顶', '鹅', '毛驴', '灯笼', '椅子', '薯条',
                              '牛仔裤', '油纸伞', '吊床', '兔', '鸵鸟', '芙蓉', '注射器', '熨斗', '蓬蓬裙', '椰子',
                              '蜘蛛', '胶带', '勺子', '货柜', '竖琴', '键盘', '项链', '急救车', '蜂蜜', '电钻',
                              '杀虫剂', '矿泉水', '皮草', '十字架', '鸟', 'U盘', '脚垫', '窗帘', '货船', '卡车',
                              '滑翔伞', '靴子', '田螺', '花瓶', '助听器', '裙子', '游轮', '草鱼', '书画', '扁担',
                              '手环', '电饼铛', '降落伞', '蝗虫', '冰柜', '怀表', '菠菜', '红枣', '果汁机', '金条',
                              '车厢', '面条', '万用表', '长裤', '蒙古包', '行李箱', '笼子', '老鼠', '恐龙', '梅花',
                              '背包', '磁铁', '眼镜蛇', '豆', '手办', '雄鹰', '风筝', '台灯', '芯片', '马车', '火箭',
                              '芒果', '美甲', '机械臂', '海报', '剃须刀', '号角', '棒球', '鱿鱼', '篮板', '水牛',
                              '衬衫', '可乐', '梨', '乳制品', '足球', '唱片', '手风琴', '盆栽', '单反', '草鞋', '二胡',
                              '帽子', '插头', '挖掘机', '迷彩服', '木耳', '避孕套', '书籍', '锯', '摄像机', '燕麦',
                              '香蕉', '购物袋', '竹竿', '大枣', '录音笔', '旅馆', '制服', '银饰', '苦瓜', '床品',
                              '平板', '娃娃机', '插座', '鞋子', '沙拉', '赛艇', '鲨鱼', '红宝石', '黄豆', '奶茶',
                              '指南针', '樱桃', '胶水', '白纸', '充电宝', '拼图', '饺子', '鸡腿', '虾', '休闲裤',
                              '贺卡', '瓜子', '包包', '薄荷', '潜艇', '汽水', '打印机', '螃蟹', '拉面', '海螺', '色卡',
                              '线路板', '卡钳', '鸭', '收音机', '头盔', '瓷器', '船', '棉被', '车位', '冰棍', '浴室柜',
                              '锅巴', '鲈鱼', '铁锅', '斧头', '盔甲', '毛肚', '红豆', '兔爷', '扑克', '葱', '牌匾',
                              '水饺', '背心', '耳机', '电视', '蟹', '雕塑', '白鹅', '塑料袋', '衬衣', '护膝', '青蛙',
                              '指环', '米粉', '蹦床', '针织衫', '麻将', '萨克斯', '三轮', '吸管', '牡丹', '坐便器',
                              '扑克牌', '书签', '石碑', '睡衣', '帐篷', '计算器', '地球仪', '刀具', '狗熊', '杜鹃',
                              '乐器', '手电筒', '传真机', '警犬', '洗手液', '防晒霜', '小鸟', '秋裤', '胶卷', '呼啦圈',
                              '高铁', '面包车', '板鞋', '电梯', '窗', '鸡', '鸳鸯', '蝴蝶结', '易拉罐', '护栏', '盾牌',
                              '纸尿裤', '户口簿', '路标', '狮子', '乒乓球', '白菜', '圆规', '斑马线', '圆桌', '泡菜',
                              '小便池', '老爷车', '马克杯', '打火机', '护照', '西装', '榨汁机', '桶', '小狗', '挂历',
                              '干果', '马桶', '牛', '半身裙', '蜈蚣', '落地灯', '摩托艇', '卫衣', '钳子', '脐橙',
                              '饮料', '坐垫', '缝纫机', '保险柜', '铅笔', '包裹', '荷花', '文胸', '石雕', '辣椒', '猪',
                              '花瓣', '摩托车', '柿饼', '玻璃瓶', '家具', '玫瑰', '牙套', '蟾蜍', '垃圾箱', '烤肉',
                              '胸针', '乌贼', '擀面杖', '药', '雪橇', '服务器', '钉子', '洗碗机', '信用卡', '宠物',
                              '蘑菇', '帽', '板栗', '帆船', '钢琴', '竹筏', '剪纸', '手镯', '城堡', '柴犬', '海龟',
                              '蜂窝', '中医药', '床头灯', '折纸', '香炉', '饮水机', '车牌', '货轮', '箱包', '鲜花',
                              '蛋黄', '放大器', '香肠', '金丝猴', '水壶', '指甲油', '斧', '古筝', '梯子', '起重机',
                              '显卡', '柚子', '洗衣机', '开关', '笤帚', '老虎', '钱币', '平衡车', '茶叶', '面膜',
                              '电风扇', '防毒面具', '袋鼠', '兔子', '毛毯', '年轮', '铲子', '柳树', '青稞', '太阳能板',
                              '球衣', '沙盘', '卷烟', '鞋垫', '折扇', '指示牌', '烟灰缸', '摇篮', '桥', '小白菜',
                              '皮卡', '水枪', '中药', '车胎', '浴巾', '天鹅', '吹风机', '大猩猩', '连体裤', '赛车',
                              '继电器', '马', '衣帽架', '剪刀', '摩托', '非机动车', '鲸鱼', '旗袍', '化妆品', '手机',
                              '内裤', '木箱', '书架', '话筒', '牙膏', '钻石', '菜单', '皮鞋', '水母', '牡蛎', '苍蝇',
                              '山地车', '雪人', '蟑螂', '粉条', '储物柜', '大熊猫', '大鹅', '玩具', '山楂', '雪茄',
                              '掌机', '敞篷车', '火龙果', '飞镖', '蜡梅', '门锁', '药品', '收割机', '公章', '甘蔗',
                              '小番茄', '照相机', '竹篮', '荔枝', '橄榄枝', '帆布鞋', '紫荆花', '砂纸', '列车',
                              '保险丝', '珍珠', '救生圈', '罐头', '放大镜', '绿茶', '相机', '鸡翅', '蜻蜓', '垃圾袋',
                              '水塔', '大刀', '晾衣架', '婚车', '垂柳', '背篓', '卫生纸', '犀牛', '鸳鸯锅', '过膝长靴',
                              '胶布', '沙袋', '镰刀', '栏杆', '毛毛虫', '代步车', '夹克', '拖鞋', '望远镜', '紫罗兰',
                              '纽扣', '扫帚', '回旋镖', '地毯', '耕牛', '木瓜', '紫砂壶', '国徽', '齿轮', '油桃',
                              '沙漏', '纯牛奶', '壁挂炉', '和服', '秋千', '白鹭', '斧子', '螳螂', '骏马', '泳装',
                              '积木', '信箱', '笔记本', '发票', '羊驼', '菜刀', '纱帘', '空调', '音箱', '托盘', '冥币',
                              '小板凳', '盘子', '操场', '古琴', '煤气罐', '床', '饼干', '雨伞', '短袖', '香菜', '手铐',
                              '金币', '洗手间', '纸杯', '轮胎', '药物', '浮雕', '支架', '时钟', '啄木鸟', '人造卫星',
                              '储物盒', '摄影机', '冲锋衣', '太阳眼镜', '新风机', '浴霸', '丝袜', '步枪', '兵马俑',
                              '运动鞋', '课桌', '台球桌', '茶壶', '麦克风', '编织袋', '青花瓷', '煤气灶', '蜜蜂',
                              '烤鱼', '大虾', '海胆', '房车', '奶嘴', '椅', '沙发', '抽油烟机', '皮裤', '百叶窗',
                              '减速带', '玻璃珠', '灯带', '甜甜圈', '柿子', '保温杯', '越野车', '电视柜', '万花筒',
                              '薰衣草', '馒头', '牛蛙', '灵芝', '琥珀', '草莓', '锣鼓', '苹果', '甜点', '监视器',
                              '礼服', '油烟机', '充电器', '围棋', '折叠屏', '大炮', '灯泡', '轮椅', '南瓜', '豆芽',
                              '穿山甲', '耳罩', '行驶证', '腰鼓', '汤圆', '试卷', '彩虹', '桌子', '牧马人', '电脑',
                              '耳环', '球鞋', '调味品', '紫薯', '锤子', '酒杯', '计算机', '围巾', '松鼠', '连衣裙',
                              '咖啡杯', '地板', '地砖', '电饭煲', '火鸡', '蛋挞', '沙画', '燃气灶', '铁锤', '火箭弹',
                              '电瓶车', '狐狸', '枸杞', '蜡烛', '手表', '纸箱', '龙眼', '五金', '枪', '热水袋',
                              '玻璃杯', '胶片', '客车', '桌球', '电视机', '蒲公英', '猴子', '龙虾', '魔芋', '寿司',
                              '太阳镜', '大葱', '桂圆', '衣柜', '蒸笼', '锅', '象牙', '兰花', '鲫鱼', '高跟鞋', '海带',
                              '石英表', '地垫', '刀', '腕表', '爆竹', '蝉', '糖葫芦', '翡翠', '手机套', '裤子', '光盘',
                              '茄子', '骰子', '大飞机', '花篮', '消火栓', '橡皮', '竹', '桃', '滑板', '身份证', '黑板',
                              '车轮', '羊', '纸巾', '快艇', '方便面', '油条', '氧气瓶', '油菜', '微单', '海盗船',
                              '楼梯', '阔腿裤', '营业执照', '串串', '香烟', '银杏', '牦牛', '电池', '班车', '弓箭',
                              '口罩', '西服', '小桌板', '海棠花', '手套', '领带', '垃圾桶', '婚房', '麻花', '烧饼',
                              '牛奶', '绿植', '披萨', '海星', '羽毛球', '洋葱', '消毒柜', '拖车', '滑板车', '榻榻米',
                              '渔船', '弹弓', '绳子', '小黄鸭', '茶桌', '棒球帽', '白鸽', '雕像', '公鸡', '钢笔',
                              '烛台', '奇异果', '生蚝', '毛笔', '海参', '餐巾纸', '竹子', '压路机', '无花果', '电烤箱',
                              '花卉', '灭火器', '银行卡', '花盆', '山羊', '魔方', '榴莲', '猫', '遮阳伞', '火炬',
                              '叉车', '货币', '餐车', '鸽子', '熊猫', '羽绒服', '坦克', '眼罩', '锣', '路由器', '紫菜',
                              '菠萝', '奖牌', '树叶', '牡丹花', '炒锅', '肥皂', '方向盘', '微波炉', '手榴弹', '吉他',
                              '藏獒', '卡丁车', '燃气表', '草帽', '胶囊', '酸奶', '盒饭', '商务车', '洒水车', '荷叶',
                              '抱枕', '招财猫', '桃子', '扫地机', '杯子', '藕', '水杯', '喷泉', '消防车', '锡纸',
                              '大米', '驴', '多肉植物', '过山车', '巴士', '野猪', '芝麻', '萝卜', '青椒', '运动服',
                              '杏仁', '马铃薯', '竹荪', '餐桌', '门窗', '药材', '病床', '海豚', '婚戒', '黄桃',
                              '示波器', '瓶子', '月球', '枕头', '显示屏', '电磁炉', '跑步机', '啤酒瓶', '集成灶',
                              '母鸡', '水晶灯', '枪支', '吊扇', '挎包', '农场', '章鱼', '泡面', '长裙', '蜂鸟', '米饭',
                              '秤', '车厘子', '枣', '甜瓜', '海苔', '犁', '净化器', '养生壶', '皮靴', '货车', '考拉',
                              '羚羊', '皮带', '粉笔', '户口本', '船舶', '蚊香', '杏子', '购物车', '口红', '三轮车',
                              '花菜', '行李', '船只', '三脚架', '花洒', '台球', '丝巾', '被褥', '金银花', '横幅',
                              '猫咪', '剑', '筷子', '外套', '洗面奶', '菊花', '饼', '短裙', '白萝卜', '炒面', '琵琶',
                              '孔雀', '数码相机', '纸币', '铁路', '火锅', '航天飞机', '松树', '人参', '点烟器', '罐车',
                              '绵羊', '面包', '鸭舌帽', '烤箱', '饭盒', '鲤鱼', '售货机', '耳塞', '钟乳石', '豆腐',
                              '勋章', '梧桐树', '警车', '手电', '松柏', '梧桐', '钞票', '书柜', '相框', '鹦鹉',
                              '咖啡机', '大货车', '花露水', '口香糖', '花生', '鸡蛋', '葡萄酒', '护目镜', '蛇', '名片',
                              '短裤', '门帘', '鲨', '标尺', '抽屉', '按钮', '眼镜', '茉莉花', '后视镜', '喜鹊', '短轴',
                              '螺丝刀', '玉石', '玫瑰花', '果树', '斑马', '鸟笼', '钥匙', '画笔', '桌', '钻戒', '乌龟',
                              '雪球', '带鱼', '鼠标垫', '小客车', '粥', '旗帜', '短靴', '游戏机', '硬盘', '生日蛋糕',
                              '扇子', '卫生巾', '贝壳', '奶牛', '叶子', '铃铛'])
        )
        self.classify_data = _data

    def execute(self, local_img_path: str):
        import time

        classify_start = time.time()
        print(f"[分类模型] 开始推理: {local_img_path}")

        result = self.pipeline(local_img_path)

        classify_time = time.time() - classify_start
        print(f"[分类模型] 推理完成，耗时: {classify_time:.3f}秒，设备: {self.device}")

        return result


handler = ClassfyModelHandler()


def classfy_by_model(local_img_path: str) -> list:
    """

    :param local_img_path:
    :return: {'scores': [0.5396515, 0.060195614, 0.009837321, 0.00977975, 0.0086002], 'labels': ['喷泉', '彩虹', '竹筏', '山', '婚纱']}
    """
    score_result = []
    try:
        result = handler.execute(local_img_path)
        if result is None or 'scores' not in result or len(result['scores']) == 0:
            return score_result

        for i in range(len(result['scores'])):
            if result['scores'][i] < 0.3:
                continue
            for d in handler.classify_data:
                if result['labels'][i] in d.thirdClassifyNames:
                    score_result.append(
                        DataUtil.build_classfy_third_obj(d.classifyName, d.subClassifyName, result['labels'][i],
                                                         str(result['scores'][i])))
    except Exception as e:
        app.ctx.logger.error(f"模型分类失败path：{local_img_path},error:{str(e)}")
    finally:
        return score_result


if __name__ == '__main__':
    os.environ['MODELSCOPE_CACHE'] = r'D:\workspace\ai-integration-center\ai-img-classify-server\models'
    files_txt = """
http://10.118.21.103/temptest/20250224/4LF4RTW5P5R6.jpg
http://10.118.21.103/temptest/20250224/4MBLQ295P0IT.jpg
http://10.118.21.103/temptest/20250224/4VMH8MCASP9A.jpg
http://10.118.21.103/temptest/20250224/4WH38K0FCLUA.jpg
http://10.118.21.103/temptest/20250224/4XC3K8MHIYYK.jpg
http://10.118.21.103/temptest/20250224/4XVIOMQ46A54.jpg
http://10.118.21.103/temptest/20250224/4ZHEW3HTRVPW.jpg
http://10.118.21.103/temptest/20250224/505A8LW39TAC.jpg
http://10.118.21.103/temptest/20250224/50NLJOSUDIVU.jpg
http://10.118.21.103/temptest/20250224/512YJXARVKV4.jpg
http://10.118.21.103/temptest/20250224/518GMPKQYJOD.jpg
http://10.118.21.103/temptest/20250224/51FRYBNGLVBD.jpg
http://10.118.21.103/temptest/20250224/51PKCHFUVBBY.jpg
http://10.118.21.103/temptest/20250224/53BVROL0IQXJ.jpg
http://10.118.21.103/temptest/20250224/54UHNJB24I2M.jpg
http://10.118.21.103/temptest/20250224/560BYMFXR19F.jpg
http://10.118.21.103/temptest/20250224/58BBT956WWDC.jpg
http://10.118.21.103/temptest/20250224/5A1KR07DT8K1.jpg
http://10.118.21.103/temptest/20250224/5AFV1JL3FCMK.jpg
http://10.118.21.103/temptest/20250224/5AVDR28IS6J0.jpg
http://10.118.21.103/temptest/20250224/5AYMCM2HN3FO.jpg
http://10.118.21.103/temptest/20250224/5DKG4TI1LP1Y.jpg
http://10.118.21.103/temptest/20250224/5G5AN2JURN0D.jpg
http://10.118.21.103/temptest/20250224/5GUD3YI5JBMZ.jpg
http://10.118.21.103/temptest/20250224/ACU97X8HFEZY.jpg
http://10.118.21.103/temptest/20250224/ADTIC3AQ2EVG.jpg
http://10.118.21.103/temptest/20250224/AJRPMRBCR1G4.jpg
http://10.118.21.103/temptest/20250224/AKBF8AD7XCWU.jpg
http://10.118.21.103/temptest/20250224/AKV184FYI7QS.jpg
http://10.118.21.103/temptest/20250224/ALJDINNM7752.jpg
http://10.118.21.103/temptest/20250224/AO1FOM8SGILO.jpg
http://10.118.21.103/temptest/20250224/AOUN5W2JGJJ2.jpg
http://10.118.21.103/temptest/20250224/AQPWFWYS7V1E.jpg
http://10.118.21.103/temptest/20250224/AR5UA0QX6EMQ.jpg
http://10.118.21.103/temptest/20250224/ARBQHUYDV85G.jpg
http://10.118.21.103/temptest/20250224/ARHHMDTHD387.jpg
http://10.118.21.103/temptest/20250224/AS9PM4AUXK23.jpg
http://10.118.21.103/temptest/20250224/ATKB6795ROPR.jpg
http://10.118.21.103/temptest/20250224/AXQPDH3NJ85I.jpg
http://10.118.21.103/temptest/20250224/AZ02SL6NXK4H.jpg
http://10.118.21.103/temptest/20250224/AZT2LHUCPO48.jpg
http://10.118.21.103/temptest/20250224/B1SA5L724LPH.jpg
http://10.118.21.103/temptest/20250224/B2Q4TA8PTK0J.jpg
http://10.118.21.103/temptest/20250224/B5RYJNYPK9SL.jpg
http://10.118.21.103/temptest/20250224/B672187XVHNC.jpg
http://10.118.21.103/temptest/20250224/BB1AWRX5EUM6.jpg
http://10.118.21.103/temptest/20250224/BD2IUMG6JLYV.jpg
http://10.118.21.103/temptest/20250224/BDLA7KX0GV11.jpg
http://10.118.21.103/temptest/20250224/BMLXB6QY0RRG.jpg
http://10.118.21.103/temptest/20250224/BQXBMSXMCCI1.jpg
http://10.118.21.103/temptest/20250224/BTZDKVN15CHK.jpg
http://10.118.21.103/temptest/20250224/BXNU51XJNO9U.jpg
http://10.118.21.103/temptest/20250224/BZP3XVK900FT.jpg
http://10.118.21.103/temptest/20250224/C0WZKST11B2K.jpg
http://10.118.21.103/temptest/20250224/C1FLIAK13AJU.jpg
http://10.118.21.103/temptest/20250224/C1RSMA0GUYR3.jpg
http://10.118.21.103/temptest/20250224/C3HWCFISZULY.jpg
http://10.118.21.103/temptest/20250224/C4U7TCN3THJY.jpg
http://10.118.21.103/temptest/20250224/C5M5BGY8L5Q0.jpg
http://10.118.21.103/temptest/20250224/C6BMYNVU8JBD.jpg
http://10.118.21.103/temptest/20250224/C6X8J38U06P3.jpg
http://10.118.21.103/temptest/20250224/C7VMHLHAMA3M.jpg
http://10.118.21.103/temptest/20250224/C8KDX9PWNSWN.jpg
http://10.118.21.103/temptest/20250224/C9C5UXKSA3IY.jpg
http://10.118.21.103/temptest/20250224/CB1VW57N8JU3.jpg
http://10.118.21.103/temptest/20250224/CCQSGTQKYUHE.jpg
http://10.118.21.103/temptest/20250224/CE10L3E7ZR0M.jpg
http://10.118.21.103/temptest/20250224/CI2NHD2A081U.jpg
http://10.118.21.103/temptest/20250224/CI7SU71Q5MGR.jpg
http://10.118.21.103/temptest/20250224/CJX35WYJGQ0X.jpg
http://10.118.21.103/temptest/20250224/CKTXFT0VXIJS.jpg
http://10.118.21.103/temptest/20250224/CKZI4ZY5BKNR.jpg
http://10.118.21.103/temptest/20250224/CLY3TCYP2BYS.jpg
http://10.118.21.103/temptest/20250224/CNDC2TRMSH21.jpg
http://10.118.21.103/temptest/20250224/CNX5E7RGD7T6.jpg
http://10.118.21.103/temptest/20250224/CRDISE2T1YQ4.jpg
http://10.118.21.103/temptest/20250224/CUQ2DVMSU8D4.jpg
    """
    files = [f.strip() for f in files_txt.split('\n') if len(f.strip()) > 0]
    with concurrent.futures.ThreadPoolExecutor(max_workers=30) as executor:
        # 提交任务到线程池
        futures = [executor.submit(classfy_by_model, i) for i in files]

        # 获取任务结果
        for future in concurrent.futures.as_completed(futures):
            result = future.result()
            print(result)






